﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DiscoveryLogic.Common.Utilities;

namespace DiscoveryLogic.Analytics.DataObjects
{
    public class EntityIcons
    {
        public static string GrantIcon = "grant.png";
        public static string OrgIcon = "org.png";
        public static string PersonIcon = "person.png";
        public static string PubIcon = "pub.png";
        public static string DocIcon = "doc.ico";
        public static string SubjIcon = "subj.ico";

        public static string ImportGrantIcon = "import_grant.ico";
        public static string ImportOrgIcon = "import_org.ico";
        public static string ImportPersonIcon = "import_person.ico";
        public static string ImportPubIcon = "import_pub.ico";

        public static string SmallGrantIcon = "smallgrant.png";
        public static string SmallOrgIcon = "smallorg.png";
        public static string SmallPersonIcon = "smallperson.png";
        public static string SmallPubIcon = "smallpub.png";

        public static string SelectedGrantIcon = "selectedgrant.png";
        public static string SelectedOrgIcon = "selectedorg.png";
        public static string SelectedPersonIcon = "selectedperson.png";
        public static string SelectedPubIcon = "selectedpub.png";
        public static string SelectedDocIcon = "selecteddoc.ico";
        public static string SelectedSubjIcon = "selectedsubj.ico";

        public static string GrantLinkIcon = "grant2_Link.ico";
        public static string orgLinkIcon = "orgLink.ico";
        public static string personLinkIcon = "personLink.ico";
        public static string pubLinkIcon = "pubLink.ico";

        public static string EntitySetIcon = "dataset.png";
        public static string ImportRuleIcon = "import.png";
        public static string LinkRuleIcon = "link.ico";
        public static string DedupRuleIcon = "dedup.png";
        public static string ClusterRuleIcon = "cluster.ico";
        public static string NetworkIcon = "network.ico";
        public static string SplitIcon = "split.png";

        public static string QuickFindIcon = "search.ico";
        public static string OpenIcon = "open.ico";
        public static string DeleteIcon = "delete.bmp";
        public static string SearchIcon = "search.png";
        public static string SmallSearchIcon = "smallsearch.png";

        public static string CentralityIcon = "CentralityVertice.ico";
        public static string DegreeIcon = "DegreeVertice.ico";

        // relative to root folder
        public static string ImageFolder = "images";

        public static string GetEntityIconByType(EntityType et)
        {
            switch(et)
            {
                case EntityType.Cluster:
                    return GrantIcon;
                case EntityType.Document:
                    return DocIcon;
                case EntityType.Grants:
                    return GrantIcon;
                case EntityType.Organizations:
                    return OrgIcon;
                case EntityType.Persons:
                    return PersonIcon;
                case EntityType.Publications:
                    return PubIcon;
                case EntityType.Subject:
                    return SubjIcon;
                case EntityType.Misc:
                    return OrgIcon;
                default:
                    return GrantIcon;
            }
        }

        public static string GetSelectedEntityIconByType(EntityType et)
        {
            switch (et)
            {
                case EntityType.Cluster:
                    return SelectedGrantIcon;
                case EntityType.Document:
                    return SelectedDocIcon;
                case EntityType.Grants:
                    return SelectedGrantIcon;
                case EntityType.Organizations:
                    return SelectedOrgIcon;
                case EntityType.Persons:
                    return SelectedPersonIcon;
                case EntityType.Publications:
                    return SelectedPubIcon;
                case EntityType.Subject:
                    return SelectedSubjIcon;
                case EntityType.Misc:
                    return SelectedOrgIcon;
                default:
                    return SelectedGrantIcon;
            }
        }
    }
}
